1. Technical Field
This invention generally relates to data processing, and more specifically relates to the sharing of resources between logical partitions in a logically partitioned computer system or between physical computer systems.
2. Background Art
Since the dawn of the computer age, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
The combination of hardware and software on a particular computer system defines a computing environment. Different hardware platforms and different operating systems thus provide different computing environments. In recent years, engineers have recognized that it is possible to provide different computing environments on the same physical computer system by logically partitioning the computer system resources to different computing environments. The iSeries computer system developed by IBM is an example of a computer system that supports logical partitioning. If logical partitioning on an iSeries computer system is desired, partition manager code (referred to as a “hypervisor” in iSeries terminology) is installed that allows defining different computing environments on the same platform. Once the partition manager is installed, logical partitions may be created that define different computing environments. The partition manager manages the logical partitions to assure that they can share needed resources in the computer system while maintaining the separate computing environments defined by the logical partitions.
A computer system that includes multiple logical partitions typically shares resources between the logical partitions. For example, a computer system with a single CPU could have two logical partitions defined, with 50% of the CPU allocated to each logical partition, with 33% of the memory allocated to the first logical partition and 67% of the memory allocated to the second logical partition, and with two different I/O slots allocated to the two logical partitions, one per partition. Once logical partitions are defined and shared resources are allocated to the logical partitions, each logical partition acts as a separate computer system. Thus, in the example above that has a single computer system with two logical partitions, the two logical partitions will appear for all practical purposes to be two separate and distinct computer systems.
Logical partitions typically communicate using an internal virtual local area network (VLAN). This VLAN implementation simplifies the migration of multiple computer systems into a single computer system with multiple logical partitions. Where the separate computer systems used to communicate over LAN connections, the logical partitions may now communicate in similar manner over their internal VLAN connections.
One type of resource that may be shared between logical partitions is a modem. Because modem operations may be relatively infrequent, a single modem may be able to service many different logical partitions if it may be efficiently shared between the logical partitions. In one known system for sharing modems for outgoing calls, static configuration data must be setup on both the modem server and each client. This configuration does not allow the client that wants to use the modem to directly control the modem. Instead, the modem is controlled by the modem server, and use of the modem is limited according to the predefined static configuration on both the modem server and the client. Without a way to share a resource such as a modem between logical partitions or between physical computer systems in a more efficient manner, the computer industry will continue to suffer from inefficient ways of sharing resources across multiple logical partitions or systems.